package pl.edu.agh.experts.diseases;

import java.util.Scanner;

import org.drools.KnowledgeBase;
import org.drools.runtime.StatefulKnowledgeSession;

public class ResponseRetriever {

	public static UserResponse getResponseFromUser(KnowledgeBase kbaseResults, boolean yes,
			boolean no, boolean dontKnow) {
		String help = "";
		if (yes) {
			help = "Wpisz 'y' jeśli posiadasz objaw";
		}
		if (no) {
			if (help.length() > 0) {
				help += ", 'n' jeśli nie posiadasz";
			} else {
				help = "Wpisz 'n' jeśli nie posiadasz objawu";
			}
		}
		if (dontKnow) {
			help += ", 'd' kiedy uważasz, że możesz posiadać objaw.\n\tDodatkowo możesz wpisać wartość z przedziału 0 - 100 jak określającą jak bardzo dany objaw jest nasilony.";
		}
		Scanner scanner = new Scanner(System.in);
		String answer = "";
		UserResponse userResponse = new UserResponse();
		do {
			System.out.println(help);
			answer = scanner.nextLine().toLowerCase();
			StatefulKnowledgeSession ksession = kbaseResults.newStatefulKnowledgeSession();
			ksession.insert(yes);
			ksession.insert(no);
			ksession.insert(dontKnow);
			ksession.insert(answer);
			ksession.insert(userResponse);
			ksession.fireAllRules();

		} while (userResponse.getDecision() == null);
		return userResponse;
	}
}
